package org.microframework.cloud.files.model;

import lombok.Builder;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 文件信息模型
 */
@Data
@Builder
public class FileInfo {

    /**
     * 文件ID
     */
    private String fileId;

    /**
     * 原始文件名
     */
    private String originalFilename;

    /**
     * 存储文件名（对象名）
     */
    private String objectName;

    /**
     * 文件路径
     */
    private String path;

    /**
     * 文件大小（字节）
     */
    private Long size;

    /**
     * 文件类型
     */
    private String contentType;

    /**
     * 文件后缀
     */
    private String extension;

    /**
     * 文件访问URL
     */
    private String url;

    /**
     * 缩略图URL（仅图片类型）
     */
    private String thumbnailUrl;

    /**
     * 存储桶名称
     */
    private String bucketName;

    /**
     * 是否为公共访问
     */
    private Boolean isPublic;

    /**
     * 上传时间
     */
    private LocalDateTime uploadTime;

    /**
     * 到期时间
     */
    private LocalDateTime expireTime;

    /**
     * 文件MD5
     */
    private String md5;

    /**
     * 文件标签
     */
    private String tags;

    /**
     * 上传者ID
     */
    private String uploaderId;
} 